package com.example.cookieandsession.cookie;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Created with IntelliJ IDEA.
 * ClassName: TestController
 * Package: com.example.cookieandsession.controller
 * Description:
 * User: fzykd
 *
 * @Author: LQH
 * Date: 2023-04-12
 * Time: 20:32
 */
@RestController
@RequestMapping("/user/aaa/bbb")
public class TestController {


    @RequestMapping("/add")
    public void cookie(HttpServletRequest request, HttpServletResponse response){

        //创建两个Cookie 只有一个构造器 name 和 value
        Cookie cookie1 = new Cookie("HaDeng","哈登");
        Cookie cookie2 = new Cookie("COLE","可乐");

        //指定Cookie绑定的路径 必须要指定当前项目的名称 request.getContextPath()
        //首先访问user/add获取cookie   之后 单独访问8080/vvv/aaa(8080/bbb)请求中带有指定的cookie
        //cookie数据都是写在浏览器的缓存中
//        cookie1.setPath(request.getContextPath() + "/vvv/aaa");
//        cookie2.setPath(request.getContextPath() +"/bbb");

        //设置Cookie的有效期 这个值是整型值 单位为秒
        //该值大于0 表示将Cookie存放客户端的硬盘
        //该值小于0 与不设置效果相同 将会存放在浏览器的缓存
        //该值等于0 表示Cookie一生成 马上失效
//        cookie1.setMaxAge(60*60); //设置cookie的有效期为1一个小时
//        cookie2.setMaxAge(60*60*24*10); //设置cookie的有效期10天



        //响应中添加Cookie
        response.addCookie(cookie1);
        response.addCookie(cookie2);

    }
}
